import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import*
testCase="DBshopST004_取消订单流程"

firefox=openBrowser(url)#登录前端网址
login(firefox,username,password)#输入账号密码登录
#在搜索框输入小米
firefox.find_element_by_xpath('//input[@placeholder="简简单单搜索"]').send_keys('小米')
#点击搜索
firefox.find_element_by_xpath('//input[@class="search-btn iconfont"]').click()
time.sleep(2)
#点击小米手机图片
firefox.find_element_by_xpath('//img[@alt="小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏"]').click()
#跳转到窗口的最后一个页面
firefox.switch_to.window(firefox.window_handles[-1])
time.sleep(2)
#点击加入购物车
firefox.find_element_by_xpath('//button[@id="add_cart_submit"]').click()
#去购物车结算
firefox.find_element_by_link_text('去购物车结算').click()
#点击去结算
firefox.find_element_by_link_text('去结算').click()
#点击下一步
firefox.find_element_by_xpath('//input[@value="下一步"]').click()
#点击余额支付
firefox.find_element_by_xpath('//input[@value="yezf"]').click()
#点击确认订单
firefox.find_element_by_xpath('//input[@value="确认订单"]').click()
#获取订单编号存放在变量中
orderID=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
#点击"查看订单详情"
firefox.find_element_by_xpath('//input[@value="查看订单详情"]').click()
#点击有效订单
firefox.find_element_by_partial_link_text('有效订单').click()
#输入订单号
firefox.find_element_by_xpath('//input[@placeholder="输入订单号"]').send_keys(orderID)
#点击搜索
firefox.find_element_by_xpath('//button[text()="搜索"]').click()
#点击"取消订单"
firefox.find_element_by_xpath('//button[text()="取消订单"]').click()
#出现JS弹窗，点击确认
firefox.switch_to.alert.accept()
#点击无效订单
firefox.find_element_by_partial_link_text('无效订单').click()
#输入订单号
firefox.find_element_by_xpath('//input[@placeholder="输入订单号"]').send_keys(orderID)
#点击搜索
firefox.find_element_by_xpath('//button[text()="搜索"]').click()
#断言，如果界面显示已取消则订单取消成功
try:
    if firefox.find_element_by_xpath('//span[text()="已取消"]'):
        print('订单取消成功')
        writelog('订单取消成功')
except:
    print('订单取消失败')
    writelog('订单取消失败')
firefox.quit()

